xen: arm: support for up to 48-bit physical addressing on arm64
authorIan Campbell <ian.campbell@citrix.com>
Thu, 18 Sep 2014 00:09:54 +0000 (01:09 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 22 Sep 2014 15:44:55 +0000 (16:44 +0100)
commitedec983d9e551681d292df5b5049c9b8721fb716
tree3466104d2ced5955611262e9f83496b09b7dee0c
parent82985d75968d3cde645a283adab902c7a096dc79
xen: arm: support for up to 48-bit physical addressing on arm64

This only affects Xen's own stage one paging.

- Use symbolic names for TCR bits for clarity.
- Update PADDR_BITS
- Base field of LPAE PT structs is now 36 bits (and therefore
  unsigned long long for arm32 compatibility)
- TCR_EL2.PS is set from ID_AA64MMFR0_EL1.PASize.
- Provide decode of ID_AA64MMFR0_EL1 in CPU info

Parts of this are derived from "xen/arm: Add 4-level page table for
stage 2 translation" by Vijaya Kumar K.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
xen/arch/arm/arm32/head.S
xen/arch/arm/arm64/head.S
xen/include/asm-arm/page.h
xen/include/asm-arm/processor.h